/*
 * @Descripttion: 
 * @version: 
 * @Author: pyq
 * @Date: 2024-10-15 23:23:35
 * @LastEditors: pyq
 * @LastEditTime: 2024-10-15 23:42:39
 */
// src/middleware/errorHandler.js

import { errorResponse } from '../utils/responseHelper.js';

const errorHandler = async(ctx, next) => {
    try {
        await next(); // 执行后续中间件或路由处理
    } catch (err) {
        console.error('Global Error:', err); // 打印错误日志

        // 根据错误类型或状态码进行分类
        if (err.status) {
            // 如果错误有状态码，则使用它
            errorResponse(ctx, err.status, err.message || '内部服务器错误');
        } else {
            // 对于未处理的错误，返回 500 状态
            errorResponse(ctx, 500, '内部服务器错误');
        }
    }
};

export default errorHandler;